<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Pedido_model extends CI_Model {
		
	public function get_all(){
		$alegroPedidos = $this->load->database('alegro', TRUE);
		$alegroPedidos->where('ped_excluido', 0);
		$alegroPedidos->order_by("ped_codigo", "asc");
		return $alegroPedidos->get('tbl_pedido')->result();		
	}
	
	public function get_all_pedidos_by_vendedor($vendedor_id=NULL){
		if ($vendedor_id == NULL){
			return FALSE;
		}
		$alegroPedidos = $this->load->database('alegro', TRUE);
		$alegroPedidos->where('usu_codigo', $vendedor_id);
		$alegroPedidos->where('ped_excluido', 0);
		$alegroPedidos->order_by("ped_codigo", "asc");
		return $alegroPedidos->get('tbl_pedido')->result();
	}
	
	public function get_byid($id=NULL){
		if ($id != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where('ped_codigo', $id);
			//$this->db->limit(1);
			
			return $alegroPedidos->get('tbl_pedido')->row();
		} else {
			return false;
		}
	}
	
	public function get_itensPedido($pedido_id=NULL){
		if ($pedido_id != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where('ped_codigo', $pedido_id);
			
				
			return $alegroPedidos->get('tbl_produto')->result();
		} else {
			return false;
		}
	}
	
	public function do_adicionar($dados=NULL){
		if ($dados != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->query('SET IDENTITY_INSERT dbo.tbl_pedido ON');
			$alegroPedidos->insert('tbl_pedido', $dados);
			$alegroPedidos->query('SET IDENTITY_INSERT dbo.tbl_pedido OFF');
			return TRUE;
		} else {
			return FALSE;
		}
	}
	
	/*
	 * Status do Financeiro e Comercial
	 * 0 - Pendente
	 * 1 - Aprovado
	 * 2 - Negado
	 * 
	 * Status do Pedido
	 * 0 - Pendente
	 * 1 - Enviado
	 * 2 - Cancelado
	 */
	
	public function do_aprovar($codigo=NULL, $campo=NULL){
		if ($codigo != NULL && $campo != NULL){
			$statusAprovado = array($campo => 1); // 1 = Aprovado
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where('ped_codigo', $codigo);
			$alegroPedidos->update('tbl_pedido', $statusAprovado);
			return TRUE;
		} else {
			return FALSE;
		}
	}
	
	public function do_negar($codigo=NULL, $campo=NULL){
		if ($codigo != NULL && $campo != NULL){
			$statusNegado = array($campo => 2); // 2 = Negado
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where('ped_codigo', $codigo);
			$alegroPedidos->update('tbl_pedido', $statusNegado);
			return TRUE;
		} else {
			return FALSE;
		}
	}
	
	public function do_cancelar($codigo=NULL){
		if ($codigo != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->query('SET IDENTITY_INSERT dbo.tbl_pedido ON');
			$statusCancelado = array('ped_status' => 2); // 2 = Cancelado
			$alegroPedidos->where('ped_codigo', $codigo);
			$alegroPedidos->update('tbl_pedido', $statusCancelado);
			$alegroPedidos->query('SET IDENTITY_INSERT dbo.tbl_pedido OFF');
			return TRUE;
		} else {
			return FALSE;
		}
	}
	
	public function do_excluir($codigo=NULL){
		if ($codigo != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->query('SET IDENTITY_INSERT dbo.tbl_pedido ON');
			$statusExcluido = array('ped_excluido' => 1); // 1 = Excluído
			$alegroPedidos->where('ped_codigo', $codigo);
			$alegroPedidos->update('tbl_pedido', $statusExcluido);
			$alegroPedidos->query('SET IDENTITY_INSERT dbo.tbl_pedido OFF');
			return TRUE;
		} else {
			return FALSE;
		}
	}
	
}